Skip to content

QUAL: realign Stock Transfer notifications/triggers to CREATE/MODIFY (PR #37557)#31

Open
mapiolca wants to merge 2 commits intopatch-9from
2026-03-20-align-pr-dolibarr-avec-philosophie-core
Open

QUAL: realign Stock Transfer notifications/triggers to CREATE/MODIFY (PR #37557)#31
mapiolca wants to merge 2 commits intopatch-9from
2026-03-20-align-pr-dolibarr-avec-philosophie-core

Conversation

@mapiolca
Copy link
Copy Markdown
Owner

Motivation

  • Aligner la PR Stock Transfer sur la philosophie core Dolibarr en limitant les codes de notification/trigger à STOCKTRANSFER_CREATE et STOCKTRANSFER_MODIFY.
  • Éviter la multiplication des triggers métier spécialisés et porter les sous-cas via le contexte de l'objet ($object->context) pour rester simple et mergeable.
  • Garder les modifications de langue limitées à htdocs/langs/en_US/* et utiliser les hooks existants uniquement pour compléter la génération des messages/attachements.

Description

  • Restreint la liste des notifications supportées dans Notify::$arrayofnotifsupported pour ne garder que STOCKTRANSFER_CREATE et STOCKTRANSFER_MODIFY (htdocs/core/class/notify.class.php).
  • Supprimé les définitions SQL de triggers spécialisés dans les fichiers d’installation/migration et conservé uniquement STOCKTRANSFER_CREATE et STOCKTRANSFER_MODIFY (htdocs/install/mysql/data/llx_c_action_trigger.sql et htdocs/install/mysql/migration/23.0.0-24.0.0.sql).
  • Retiré les call_trigger() spécialisés du cycle de vie dans la page card et remplacé par l’injection d’un contexte métier explicite avant l’update() (ex. $object->context['stocktransfer_event'] = 'destock') pour les sous-cas destock, destock_cancel, addstock, addstock_cancel, et géré validate/unvalidate/close via actions de confirmation standards (htdocs/product/stock/stocktransfer/stocktransfer_card.php).
  • Modifié la classe objet StockTransfer pour appeler STOCKTRANSFER_MODIFY (au lieu de triggers spécialisés) et renseigner un stocktransfer_event par défaut lorsque nécessaire (validate, unvalidate, close) afin que le même trigger MODIFY porte les sous-événements (htdocs/product/stock/stocktransfer/class/stocktransfer.class.php).
  • Adapté la construction du message de notification dans Notify pour gérer STOCKTRANSFER_CREATE et STOCKTRANSFER_MODIFY et pour sélectionner un libellé métier basé sur $object->context['stocktransfer_event'], tout en conservant un unique template générique STOCKTRANSFER_MODIFY_TEMPLATE pour les envois (htdocs/core/class/notify.class.php).
  • Nettoyage des fichiers de langue limité à htdocs/langs/en_US/other.lang avec des clés Notify_STOCKTRANSFER_MODIFY_* pour les sous-cas métier et suppression des clés spécialisées précédentes hors en_US.
  • Maintien du support stocktransfer_send dans la liste des modèles d’emails et pré-send/doc attachment (aucun contournement via hooks pour recréer des triggers spécialisés) (htdocs/admin/mails_templates.php reste intact pour l’élément stocktransfer_send).
  • Commit message utilisé : fix(stocktransfer): realign notifications and triggers on CREATE/MODIFY.

Testing

  • Vérification de syntaxe PHP réalisée avec php -l sur les fichiers modifiés (htdocs/core/class/notify.class.php, htdocs/product/stock/stocktransfer/stocktransfer_card.php, htdocs/product/stock/stocktransfer/class/stocktransfer.class.php) et tous les fichiers contrôlés n’ont renvoyé No syntax errors detected (succès).
  • Commit local effectué et arborescence validée (git commit) confirmant l’état propre du working tree après modifications (opération réussie).
  • Aucun test unitaire additionnel automatisé n’a été exécuté dans cette PR; les validations sont basées sur linting et vérifications de cohérence de code/SQL modifié.

Codex Task

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant